package com.qingcloud.adminbackend.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qingcloud.adminbackend.entity.product.SysProductType;
import com.qingcloud.adminbackend.pojo.dto.sysproduct.PageProductListDTO;
import com.qingcloud.adminbackend.pojo.vo.sysproduct.PageProductListVO;
import com.qingcloud.adminbackend.pojo.vo.sysproduct.ProductListVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 蛙鸣产品型号定义 Mapper 接口
 * </p>
 *
 * @author luozehua
 * @since 2019-04-12
 */
public interface SysProductTypeMapper extends BaseMapper<SysProductType> {

    /**
     * 分页产品列表
     * @param page 分页条件
     * @param dto 请求DTO
     * @return 分页返回数据
     */
    Page<PageProductListVO> pageProductList(IPage<PageProductListVO> page, @Param("dto") PageProductListDTO dto);

    /**
     * 查询产品关联设备数量
     * @param productType 产品型号
     * @return 产品关联设备数量
     */
    Integer countProductRefDeivce(@Param("productType") String productType);

    /**
     * 所有产品列表
     * @return 分页返回数据
     */
    List<ProductListVO> productList();
}
